//=============================================================================
/**
 * @file	gym_init.h
 * @brief	ジム仕掛け初期化とか
 * @author	Nozomu Saito
 *
 */
//=============================================================================
#ifndef __GYM_INIT_H__
#define __GYM_INIT_H__

#include "field_common.h"

//---------------------------------------------------------------------------
/**
 * @brief	水ジム:初期化
 *
 * @param	fsys	フィールドシステムポインタ
 *
 * @return	none
 */
//---------------------------------------------------------------------------
void GYM_InitWaterGym(FIELDSYS_WORK *fsys);

//---------------------------------------------------------------------------
/**
 * @brief	ゴーストジム:初期化
 *
 * @param	fsys	フィールドシステムポインタ
 *
 * @return	none
 */
//---------------------------------------------------------------------------
void GYM_InitGhostGym(FIELDSYS_WORK *fsys);

//---------------------------------------------------------------------------
/**
 * @brief	鋼ジム:初期化
 *
 * @param	fsys	フィールドシステムポインタ
 *
 * @return	none
 */
//---------------------------------------------------------------------------
extern void GYM_InitSteelGym(FIELDSYS_WORK *fsys);

//---------------------------------------------------------------------------
/**
 * @brief	格闘ジム:初期化
 *
 * @param	fsys	フィールドシステムポインタ
 *
 * @return	none
 */
//---------------------------------------------------------------------------
extern void GYM_InitCombatGym(FIELDSYS_WORK *fsys);

//---------------------------------------------------------------------------
/**
 * @brief	電気ジム:初期化
 *
 * @param	fsys	フィールドシステムポインタ
 *
 * @return	none
 */
//---------------------------------------------------------------------------
extern void GYM_InitElecGym(FIELDSYS_WORK *fsys);
extern void GYM_EntryElecGymSwitch(FIELDSYS_WORK *fsys);

//---------------------------------------------------------------------------
/**
 * @brief	飛行ジム:初期化
 *
 * @param	fsys	フィールドシステムポインタ
 *
 * @return	none
 */
//---------------------------------------------------------------------------
extern void GYM_InitSkyGym(FIELDSYS_WORK *fsys);

//---------------------------------------------------------------------------
/**
 * @brief	虫ジム:初期化
 *
 * @param	fsys	フィールドシステムポインタ
 *
 * @return	none
 */
//---------------------------------------------------------------------------
extern void GYM_InitInsectGym(FIELDSYS_WORK *fsys);

//---------------------------------------------------------------------------
/**
 * @brief	ドラゴンジム:初期化
 *
 * @param	fsys	フィールドシステムポインタ
 *
 * @return	none
 */
//---------------------------------------------------------------------------
extern void GYM_InitDragonGym(FIELDSYS_WORK *fsys);

//---------------------------------------------------------------------------
/**
 * @brief	毒ジム:初期化
 *
 * @param	fsys	フィールドシステムポインタ
 *
 * @return	none
 */
//---------------------------------------------------------------------------
extern void GYM_InitPoisonGym(FIELDSYS_WORK *fsys);

//---------------------------------------------------------------------------
/**
 * @brief	万能ジム:初期化
 *
 * @param	fsys	フィールドシステムポインタ
 *
 * @return	none
 */
//---------------------------------------------------------------------------
extern void GYM_InitAlmGym(FIELDSYS_WORK *fsys);

//--------------------------------------------------------------
/**
 * @brief   ギミックコードが指定IDのコードと同一かチェック
 *
 * @param   gimmick_id		ギミックコード
 *
 * @retval  TRUE:一致。　FALSE:不一致
 *
 * gym.cを専用のオーバーレイ領域(fieldmap_sub_gym)に移した為、
 * gym.cの関数を呼ぶ前にこれでチェックする
 */
//--------------------------------------------------------------
extern BOOL GYM_GimmickCodeCheck(FIELDSYS_WORK *fsys, int gimmick_id);

#endif //__GYM_INIT_H__
